import Mock from 'mockjs'  //引入mockjs
// import data from './data' //引入mock数据文件
import{Random} from 'mockjs' //引入random对象，随机生成数据的对象，（与占位符@一样）
Mock.setup({timeout:1000})  //设置请求延时时间
let arr = []
const getdata = function(option){  //定义请求数据方法
         for (let i = 0; i < 20; i++){
            let  newArticleObject={
                name:Random.cname(), //Random.cname() 随机生成一个常见的中文姓名
                content:Random.csentence(5,10),
                // date: Random.date() + ' ' + Random.time(), // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd；Random.time() 返回一个随机的时间字符串
                date:Random.date(),
                adr: Mock.mock('@county(true)'),
                id:i
            }
             arr.push(newArticleObject)
         }
         return{
             data:arr
         }
}
Mock.mock('/user',/post|get/i,getdata)    //调用模拟数据的方法

//数据的删除操作
let list = function(options){
    console.log(options.type);
    let rtype = options.type.toLowerCase(); //获取请求的类型并转换为小写
    switch (rtype){
        case 'get':
            break;
        case 'post':
            let id = parseInt(JSON.parse(options.body).params.id);//获取请求的id，将options.body转换为JSON对象
            arr = arr.filter(function(val){
                return val.id !=id;   //过滤掉前台传过来的id对应的相应数据，并重新返回
            })
             break;
        default:
             break;
        
    }
    return{
        data:arr
    }
}
Mock.mock('/list',/get|post/i,list);

//数据的添加操作
let listAdd = function(options){
    console.log("传过来的数据"+JSON.parse(options.body).params.obj);
    let rtype = option.type.toLowerCase();  //获取请求的类型
    switch(rtype){
        case 'get':
            break;
        case 'post':
            let obj =JSON.parse(options.body).params.obj;
            //console.log("数据获取" +obj);
            arr = arr.concat(obj);  //将前台返回来的数据，拼接到数组中
            break;
        default:
            break;
    }
    return{
        data:arr
    }
}
Mock.mock('/listAdd',/get|post/i,listAdd);

//数据的修改操作
let listUpate = function(options){
    let rtype = options.type.toLowerCase(); //获取请求的类型
    switch (rtype){
        case 'get':
             break;
        case 'post':
        let obj = JSON.parson(options.body).params.obj;
        console.log(JSON.parson(options.body).params);
        arr = arr.map(val =>{ //将需要的数据替换掉
            return val.id ===obj.id ? obj : val;

        });
             break;
        default:
             break;
    }
    return{
        data:arr
    }
}
Mock.mock('/listUpate',/get|post/i,listUpate);